#if defined(_MSC_VER)
#pragma once
#endif

#ifndef LM_CORE_MATERIAL_H
#define LM_CORE_MATERIAL_H

#include "lm.h"
#include "memory.h"
#include "intersection.h"
#include "bsdf.h"

class Material : public ReferenceCounted {
public:
	virtual BSDF *GetBSDF(const Intersection &isect) const = 0;
	static void Bump(const Reference<Texture<float>> &d, const Intersection &isect);
private:
};


#endif	// LM_CORE_MATERIAL_H